                           Marvell FCode Driver Readme File
                              Marvell Semiconductor, Inc.
                                 All rights reserved.


Table of Contents

1. Package Contents 
2. Supported Adapters/Controllers 
3. Supported Operating Systems
4. Installing the Driver 
5. Additional Notes 
6. Contacting Support


1. Package Contents

The following list describes the files included in the FCode driver 
package:

 * BK0xxxxx.BIN - Combined binary file, which includes the binaries 
   for BIOS, FCode, UEFI driver, and ASIC firmware

 * Within the BIN file, the bootcode will contain one or more of the following:
   - isp2071.sun.fc  - Baker Fcode Driver binary for SPARC
   - isp2471.sun.fc  - Baker VF Fcode Driver binary for SPARC
   - isp2261.sun.fc  - Qlipper Fcode Driver binary for SPARC
   - isp2661.sun.fc  - Qlipper VF Fcode Driver binary for SPARC

 * Readme.txt - Readme File (This file)

 * Releasenotes.txt - Fcode release history 

2. Supported Adapters/Controllers 

 All Baker and Qlipper based CNAs, which include:
 * 2680 Series Fibre Channel adapters
 * 2690 Series Fibre Channel adapters
 * 2700 Series Fibre Channel adapters


3. Supported Operating Systems

This FCode will run on SPARC machines only. Please check the downloads section
for your adapter model at www.qlogic.com or your OEM downloads site for a list
of compatible  operating systems.


4. Installing the Driver (Bootcode)

This section contains:
 * 4.2 Updating the Bootcode
 * 4.1 Adapter Configuration 


4.2 Updating the Bootcode

To update the Bootcode:
Use the latest QCC application to update the boot code (BK0xxxxx.BIN).
*For procedures on updating Flash using the QCC GUI/CLI applications, see 
 the FC HBA Manager Online Help and QCC User's Guide.

*Before flashing the Bootcode, the latest QLogic/Oracle Solaris HBA 
 driver must be installed.
  

4.2 Adapter Configuration 
This section contains:
 * 4.2.1. Selecting the FC Function from OBP
 * 4.2.2. Setting and viewing NVRAM Parameters
 * 4.2.3. Diagnostic Commands


4.2.1. Selecting the FC Function from OBP
Prior to the Adapters NVRAM parameters or executing Diag commands,
the device must be selected at the OBP ok prompt. To get to the ok prompt,
you must first 'halt' Solaris and then enter the following commands at the ok
prompt:
   setenv auto-boot? false
   reset-all

This will initialize the OBP environment properly. You can skip the 'setenv'
command if the auto-boot? environment flag is already set to 'false'. You may
view the current flag settings using the 'printenv' command.

To select the device, you may use either select-dev or select methods, as
Shown in the examples below.

NOTE: When finished setting parameters or running diagnostics and prior to
      booting the system, you should always unselect the device by typing:
      unselect-dev.

Example:
   {0} ok " /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1" select-dev
       ^-- must have leading space.
      or
   {0} ok select /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1

If you are in a windows environment, you can cut and paste the HBA's device
path into the select or select-dev command. To view a list of all devices in
the system, enter: show-devs.

Another way to show a list of HBA devices attached to the system is to use
the "show-disks" command, as shown in the example below.

Example:
   {0} ok show-disks
   a) /pci@7c0/pci@0/pci@9/QLGC,qlc@0,3/fp@0,0/disk  (QLogic FCoE Port 1)
   b) /pci@7c0/pci@0/pci@9/QLGC,qlc@0,2/fp@0,0/disk  (QLogic FCoE Port 0)
   c) /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk
   d) /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1,1/fp@0,0/disk (Oracle FC Port 1)
   e) /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1/fp@0,0/disk  (Oracle FC Port 0)
   f) /pci@7c0/pci@0/pci@9/SUNW,qlc@0,3/fp@0,0/disk  (Oracle FCoE Port 1)
   g) /pci@7c0/pci@0/pci@9/SUNW,qlc@0,2/fp@0,0/disk  (Oracle FCoE Port 0)
   h) /pci@7c0/pci@0/pci@1/pci@0/ide@8/cdrom
   i) /pci@7c0/pci@0/pci@1/pci@0/ide@8/disk
   q) NO SELECTION
   Enter Selection, q to quit: e
   /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1/fp@0,0/disk has been selected.
   Type ^Y ( Control-Y ) to insert it in the command line.
   e.g. {0} ok nvalias mydev ^Y
   for creating devalias mydev for
   /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1/fp@0,0/disk

   {0} ok " /pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1" select-dev  
           ^-- enter ^Y here                       ^-- use backspace to remove fp...
   

When the HBA device is selected the first time, similar banner should appear:
    
    QLogic MMMMMMM FC Host Adapter FCode(SPARC): XX.XX   YYYYYYY 
    Firmware version Z.ZZ.ZZ

NOTE: Where MMMMMMM = HBA Model Number,  (e.g. QTE2684L) 
            XX.XX   = FCode Version, 
            YYYYYYY = Date/Time code of FCode release version
            Z.ZZ.ZZ = Firmware Version 


4.2.2. Setting and viewing NVRAM Parameters
This section contains:
   * A.  Setting and viewing Fibre Channel connection mode   
   * B.  Setting and viewing Fibre Channel data rate         
   * C.  Setting and viewing Fabric Assigned Port WWN feature 
   * D.  Setting and viewing login-retry-count  
   * E.  Setting and viewing link-down-timeout
   * F.  Setting and viewing port-down-retry-count
   * G.  Setting and viewing max-frame-size
   * H.  Setting and viewing boot-wait-time
   * I.  Restoring NVRAM Parameter Defaults

To list all NVRAM and Diagnostic Commands: type "show-commands" at ok prompt.

   {0} ok show-commands
   NVRAM Parameter commands
         show-settings
         set-connection-mode      
         set-data-rate            
         set-fapwwn-ena           
         set-login-count
         set-link-timeout
         set-port-down-count
         set-max-frame-size
         set-boot-wait-time
         restore-default-settings
   Diag Commands
         version
         beacon
         selftest
         ext-loopback-test
         show-children
         disk-test
         sel-dev
         sel-lun
   See Readme file for details

On VFs (virtual functions), there is no NVRAM access, so the commands are
limited. The VFs "show-commands" will display:
   ok
  0 > show-commands
         version
         show-settings
   Diag Commands
         show-children
         disk-test
         sel-dev
         sel-lun

To show the current value of all of the NVRAM parameters, as well as the
version, serial number, and HBA WWN, type "show-settings".

FC HBA Example:
 
   {0} ok show-settings
   QLogic MMMMMMM FC Host Adapter FCode(SPARC): XX.XX   YYYYYY
   ISP Firmware version Z.ZZ.ZZ
   Product-ID: 7101674, Sun Storage 16Gb FC PCIe Universal HBA, QLogic 7023303
   Serial# 123456A+1234567890
   Multiflash Version: V.VV.VV
   Current Personality : FC only
   node-wwn 2000000e 1e08f140
   port-wwn 2100000e 1e08f140
   Current Adapter Connection Mode: Point-to-point only
   Current Adapter Data Rate: Auto-negotiated
   Current Fabric-Assign-WWPN: ENABLED
   Current FW login-retry-count: 8(8)
   Current link-down-timeout: 1e(30) seconds
   Current port-down-retry-count: 1e(30)
   Current max-frame-size: 800(2048)
   Current boot-wait-time: DISABLED

NOTES: Where MMMMMMM = HBA Model Number,  (e.g. QTE2684L) 
            XX.XX   = FCode Version, 
            YYYYYYY = Date/Time code of FCode release version
            Z.ZZ.ZZ = Firmware Version 
            V.VV.VV = Multiflash Version 


An example of "show-settings" on a VF would be:
  0 > show-settings
  QLogic FC Host Adapter FCode(SPARC): X  Y
  ISP Firmware version Z
  VF WWNN 20000014 4ffa03b1
  VF WWPN 10000014 4ffa03b1
  Adapter Port-ID=  20604
  Function # = 4 - VF Index = 3 - Port = 0


4.2.2A. Setting and viewing Fibre Channel connection mode     
To change or view the current host adapter Fibre Channel connection mode,
type "set-connection-mode".

   Example:
   
   {0} ok set-connection-mode
   Current HBA connection mode: 2 - Loop preferred, otherwise point-to-point
   Do you want to change it? (y/n) y
   Choose HBA Connection Mode:
   0 - Loop Only
   1 - Point-to-point only
   2 - Loop preferred, otherwise point-to-point
   Enter: 2
   Current HBA connection mode: 2 - Loop preferred, otherwise point-to-point


4.2.2B. Setting and viewing Fibre Channel data rate          
To change or view the current host adapter Fibre Channel data rate, type:
 "set-data-rate".

   Example:
    {0} ok  set-data-rate
    Current HBA Data Rate: Auto-Negotiated
    Do you want to change it? (y/n) y
    Choose Data Rate:
    2 - Auto-negotiated
    3 - 4 Gb/sec
    4 - 8 Gb/sec 
    5 - 16 Gb/sec
    Enter: 2
    Current HBA Data Rate: Auto-Negotiated


4.2.2C. Setting and viewing Fabric Assigned Port WWN feature  
The FCode supports the Fabric-Assigned Worldwide Port Name (FA-WWPN) feature
in a Brocade switch running Fabric OS 7.3.0 or later. Use the set-fapwwn-ena
FCode command to enable and disable this feature on the adapter.

Example:
  {0} ok set-fapwwn-ena
  Current Fabric-Assign-WWPN: DISABLED
  Do you want to change it? (y/n) y
  Current Fabric-Assign-WWPN: ENABLED

This feature must also be enabled on the switch using the command sequence:
  portdisable #
  fapwwn -- enable - port #
  portenable #
Where # is the switch port number that is attached to the adapter.


4.2.2D. Setting and viewing login-retry-count
The login-retry-count NVRAM parameter is used by the Fcode to set the Login
Retry Count field in the Firmware Initialization Control Block. This
specifies the number of login retries attempted by the FW. The default value
is 8.  Use the set-login-count command to change this parameter.

Example:
  {0} ok set-login-count
  Current FW login-retry-count: 8(8)
  Do you want to change it? (y/n) y
  FW login-retry-count: Enter 1-ff hex: 7
  Current FW login-retry-count: 7(7)


4.2.2E. Setting and viewing link-down-timeout
The link-down-timeout NVRAM parameter is used by the FCode to determine the 
number of seconds to wait for the link to come up. The default value is 30.
Use the set-link-timeout command to change this parameter.

Example:
  {0} ok set-link-timeout
  Current link-down-timeout: 1e(30) seconds
  Do you want to change it? (y/n) y
  link-down-timeout: in Secs. Enter 2-ff hex: 14
  Current link-down-timeout: 14(20) seconds


4.2.2F. Setting and viewing port-down-retry-count
The port-down-retry-count NVRAM parameter is used by the FCode to determine
the number of retries for the start, read & write SCSI commands. The default
value is 30. Use the set-port-down-count command to change this parameter.

Example:
  {0} ok set-port-down-count
  Current port-down-retry-count: 1e(30)
  Do you want to change it? (y/n) y
  port-down-retry-count: Enter 1-ff hex: 10
  Current port-down-retry-count: 10(16)


4.2.2G. Setting and viewing max-frame-size
The max-frame-size NVRAM parameter is used by the FCode to set the maximum
frame length field in the Firmware Initialization Control Block. The default
value is 2048. Use the set-max-frame-size command to change this parameter.

Example:
  {0} ok set-max-frame-size
  Current max-frame-size: 800(2048)
  Do you want to change it? (y/n) y
  Choose max-frame-size:
  1 - 512
  2 - 1024
  3 - 2048
  enter: 2
  Current max-frame-size: 400(1024)


4.2.2H. Setting and viewing boot-wait-time
The boot-wait-time NVRAM parameter is used by the FCode to adjust the time to
wait in seconds for the boot device to become online. The default value is
'DISABLED', which sets it to 8 seconds. The maximum value is 65,535 seconds
(18 hours, 6 minutes). The minimum value is 8 seconds, same as when disabled.
Because this wait-time can be very long, the boot process may be aborted at
any time by typing the 'escape' key.  Use the set-boot-wait-time command to
change this parameter.

Example 1:
  {0} ok set-boot-wait-time
  Current boot-wait-time: DISABLED
  Do you want to change it? (y/n) y
  boot-wait-time: Enter 8-65535 (decimal): 360
  Current boot-wait-time: 360 seconds   (this example sets it to 6 minutes)

Example 2:
  {0} ok set-boot-wait-time
  Current boot-wait-time: 360 seconds
  Do you want to change it? (y/n) y
  Do you want to Disable it? (y/n) y
  Current boot-wait-time: DISABLED      (this example disables the parameter)


4.2.2I. Restoring NVRAM Parameter Defaults
Use the restore-default-settings command to restore the default values of all
NVRAM parameters used by the FCode, except the fc-mode (Fcode operation mode)
and the boot-wait-time.

 Example:
  {0} ok restore-default-settings  
  Reset all NVRAM values back to defaults. Are you sure? (y/n) y 
  NVRAM defaults restored
  Current HBA Connection Mode: Loop preferred, otherwise point-to-point 
  Current HBA Data Rate: Auto-negotiated
  Current Fcode Mode: qlc 
  Current FW login-retry-count: 8(8)  
  Current link-down-timeout: 1e(30) seconds 
  Current port-down-retry-count: 1e(30)
  Current max-frame-size: 800(2048)  
  Current boot-wait-time: DISABLED
  {0} ok



4.2.3. Diagnostic Commands
This section contains:
   * A.  Version command
   * B.  Beacon support
   * C.  Selftest
   * D.  ext-loopback-test command
   * E.  show-children command
   * F.  disk-test command

 
4.2.3A. Version command
To display the current FCode and Firmware version, simply type "version".
 
Example:
  {0} ok version
  QLogic QTE2684L FC Host Adapter FCode(SPARC): X    Y
  Firmware version Z
  {0} ok

NOTE: Where X = FCode Version,Y = Date of FCode version release, 
Z = ISP Firmware version and W = NIC Firmware version
 
4.2.3B. Beacon support
Beacon is a feature to allow a specific host adapter to be visually located
easily. When the feature is activated, the yellow and amber LEDs on the back
of the adapter will flash at approximately one second intervals.

To enable the feature do the following:
 1. Select the host adapter device you wish to locate as described in section
    3, above.

 2. Enter: "beacon"
    The following message is displayed:
       Flashing adapter LEDs, type any character to quit -

   The yellow and amber LEDs on the selected host adapter will flash until
   any character is entered on the keyboard.

NOTE: For multi-channel host adapters, only one channel's LED will flash.

 
4.2.3C. Selftest
Selftest is the name of the method that is executed when the "test 
<node path>" command is entered at the ok prompt.
  Example:
   {0} ok test /pci@1c,600000/SUNW,qlc@1
   or
   {0} ok test /pci@1d,700000/pci@2/QLGC,qlc@0,3

NOTE: It is recommended using a Loopback plug. This will insure that the
      external loopback test will be executed.

An alternative way to test the HBA device is to first, select the device you 
wish to test as described in section 3, above. Then enter "selftest".
Example:
  {0} ok selftest
          nvram ok
          FCode Checksum OK
          Testing memory, pattern  0  - PASS
          Testing memory, pattern  ffffffff  - Passed
          Testing memory, pattern  55aa5555  - Passed
          Testing memory, pattern  aaaa55aa  - Passed
          Testing memory, pattern  a55aa55a  - Passed
          Testing memory, pattern  5b5a5a6a  - Passed
          Testing memory, pattern  ff00f0f0  - Passed
          Testing memory, pattern  1ff00f0e  - Passed
          10-bit Internal Loopback Test - Passed
          1-bit Internal Loopback Test - Passed
          External Internal Loopback Test - Passed
  {0} ok


4.2.3D.  ext-loopback-test command
The ext-loopback-test method allows the user to manually execute the external
loopback test. Selftest will skip this test if the HBA device is attached to
a Switch. The Diag-Echo command is used instead of the loopback command if
the topology is either F-port or FL-port (i.e. a Switch). The Diag Echo
command is not supported by all FC Switches. Therefore, it is skipped during
Selftest.
Example:
  ext-loopback-test
          Switch Diag Echo Loopback Test - Passed
  {0} ok


4.2.3E.  show-children command
show-children is the name of the method that is called when "probe-scsi-all"
is executed. The probe-scsi-all command will show all of the SCSI Target/Luns
attached to the system by executing the show-children method of all devices
with the device-type property set to "scsi" or "scsi-fcp". To show the
Targets and Luns of a single HBA, select the HBA device as described in
section 3, above. Then enter "show-children".
Example:

  {0} ok show-children
  Adapter portID - 10800
  ************** Fabric Attached Devices **************
  Dev# 0(0)   PortID 10b9b    Port WWN 216000c0fff02f95
   LUN    0(0)      SUN     StorEdge 3510   421D
  Dev# 1(1)   PortID 10ba9    Port WWN 216000c0ff702f95
   LUN    0(0)    DISK  SUN     StorEdge 3510   421D
   LUN    1(1)    DISK  SUN     StorEdge 3510   421D
   LUN    2(2)    DISK  SUN     StorEdge 3510   421D

  {0} ok


4.2.3F.  disk-test command

The disk-test was added as a diagnostic tool to allow the user to perform as
simple, non-destructive, read/write data test to a selected target.
To execute disk-test, follow these steps, below.

1. Select the HBA device as described in section 3, above.

2. Execute show-children
   Pick a target (Dev#) and LUN from the listed devices.

3. Login to the target by typing: "<dev#> sel-dev"
   Example:    7 sel-dev       (will login to Dev# 7)

4. Select a LUN. by typing: "<lun#> sel-lun"
   Example:    4d sel-lun       (will select LUN 4d, hex)

   NOTE: You may skip this step if the LUN # =0, which is the default.

5. Execute disk-test by typing "disk-test".
   disk-test will perform a read-write-read-compare test to the selected 
   target, 64 blocks (32k bytes) at a time. While it is running it will 
   display the current disk block address. The test can be terminated by
   pressing any key.

The disk-test command can also be used to locate a particular target, if
there is an activity LED on the target.


5. Additional Notes

This section contains:

 * 5.1 Supported Features
 * 5.2 Notes
 * 5.3 Building a bootable disk


5.1.  Supported Features

* 2048 Target ID Support
* 16384 LUN/Target Support for qlc mode
* Boot from Fabric and Local Loop.  
* 4, 8 or 16 Gb/sec data rate support (FC 26xx)
* 8, 16 or 32 Gb/sec data rate support (FC 27xx)
* Auto NVRAM backup/recovery    


5.2. Notes

1. Some FCode settings at OBP will not be reflected in the QConvergeConsoleCLI.
2. Issue reset-all when change is made to the FCode or Fiber link/target.
3. External Optical Loop back is required when issue test /pci@xxx...


5.3. Building a bootable disk

This procedure assumes the system is already booted from an existing system
disk, and that you have already performed a full system backup.  
The method for building a bootable disk depends on the file system of your
system. Section 5.3.1 describes the method for a ZFS file system and Section
5.3.2 describes the method for the older UFS File System.

5.3.1 Building a ZFS bootable disk

This procedure involves using the Solaris command, zpool to create Mirrored
Root Pool of your current boot disk. In order for this method to be
successful, there must be enough disk space on FC Target LUN to hold the
entire Root Pool.

1. Determine the amount of disk space used on your current boot disk.
   Use the "format" command to show the disk partition.

   Example: 
 
  # format

  AVAILABLE DISK SELECTIONS:
   0. c1d0 <SUN-DiskImage-7GB cyl 26963 alt 2 hd 1 sec 600>
      /virtual-devices@100/channel-devices@200/disk@0
   1. c4t200100110D770700d2 <SANBlaze-VLUN P1T0L2-V6.2 cyl 3998 alt 2 hd 16 sec 128>
      /pci@500/pci@2/pci@0/pci@a/SUNW,qlc@0,12/fp@0,0/ssd@w200100110d770700,2
   2. c4t200100110D770700d3 <SANBlaze-VLUN P1T0L3-V6.2 cyl 7900 alt 2 hd 16 sec 128>
      /pci@500/pci@2/pci@0/pci@a/SUNW,qlc@0,12/fp@0,0/ssd@w200100110d770700,3
  Specify disk (enter its number): 0
  selecting c1d0
  [disk formatted, no defect list found]
  /dev/dsk/c1d0s0 is part of active ZFS pool rpool. Please see zpool(1M).

  format> verify

  Primary label contents:

  Volume name = <        >
  ascii name  = <SUN-DiskImage-7GB cyl 26963 alt 2 hd 1 sec 600>
  pcyl        = 26965
  ncyl        = 26963
  acyl        =    2
  nhead       =    1
  nsect       =  600
  Part      Tag    Flag     Cylinders         Size            Blocks
    0       root    wm       0 - 26962        7.71GB    (26963/0/0) 16177800
    1 unassigned    wm       0                0         (0/0/0)            0
    2     backup    wu       0 - 26962        7.71GB    (26963/0/0) 16177800
    3 unassigned    wm       0                0         (0/0/0)            0
    4 unassigned    wm       0                0         (0/0/0)            0
    5 unassigned    wm       0                0         (0/0/0)            0
    6 unassigned    wm       0                0         (0/0/0)            0
    7 unassigned    wm       0                0         (0/0/0)            0

  format> q
  This example shows that the current boot disk is c1t0d.  
  Slice 0 is used for the entire ZFS Root Pool, which is 7.71GB. The FC LUN
  must be created large enough to hold the entire Root Pool. In this example,
  slice 0 of the FC LUN should be at least 7.71GB(16177800 blocks).

2. Use the "format" command to create, label and format the new bootable disk
  as one whole-disk partition, with slice 0 as the free-space-hog. If you are
  not familiar with the "format" command, carefully read the Solaris
  documentation and manual pages for the command. Misuse of "format" could
  destroy the data on the current disk drives.

  Example:

  # format
      current
      Current Disk = c4t200100110D770700d3
      <SANBlaze-VLUN P1T0L3-V6.2 cyl 7900 alt 2 hd 16 sec 128>
      /pci@500/pci@2/pci@0/pci@a/SUNW,qlc@0,12/fp@0,0/ssd@w200100110d770700,3
      partition
        modify
         print
     Part      Tag    Flag     Cylinders        Size            Blocks
       0       root    wm       0 - 7899        7.71GB    (7898/0/0) 16179200
       1       swap    wu       0               0         (0/0/0)           0
       2     backup    wu       0 - 7899        7.71GB    (7900/0/0) 16179200
       3 unassigned    wm       0               0         (0/0/0)           0
       4 unassigned    wm       0               0         (0/0/0)           0
       5 unassigned    wm       0               0         (0/0/0)           0
       6        usr    wm       0               0         (0/0/0)           0
       7 unassigned    wm       0               0         (0/0/0)           0

3. Use the "zpool attach" command to make a mirror image of the root pool on
   the new boot disk. Be sure to wait for the resilvering to complete before
   continuing. 

   Example: 
 
   # zpool attach rpool  c1d0s0  c4t200100110D770700d3s0
   Make sure to wait until resilver is done before rebooting.
 
   # zpool status
     pool: rpool
    state: DEGRADED
   status: One or more devices is currently being resilvered.  The pool will
           continue to function in a degraded state.
   action: Wait for the resilver to complete.
           Run 'zpool status -v' to see device specific details.
     scan: resilver in progress since Thu Oct  3 16:28:34 2013
       5.72G scanned
       1.92G resilvered at 41.4M/s, 33.33% done, 0h1m to go
   config:

       NAME                         STATE     READ WRITE CKSUM
       rpool                        DEGRADED     0     0     0
         mirror-0                   DEGRADED     0     0     0
           c1d0s0                   ONLINE       0     0     0
           c4t200100110D770700d3s0  DEGRADED     0     0     0  (resilvering)

   errors: No known data errors
   # zpool status
     pool: rpool
    state: ONLINE
     scan: resilvered 5.72G in 0h1m with 0 errors on Thu Oct  3 16:31:42 2013
   config:

           NAME                         STATE     READ WRITE CKSUM
           rpool                        ONLINE       0     0     0
             mirror-0                   ONLINE       0     0     0
               c1d0s0                   ONLINE       0     0     0
               c4t200100110D770700d3s0  ONLINE       0     0     0

   errors: No known data errors

4. Shutdown the system.

   Example:
   # /sbin/init 0

5. Boot from the newly created boot disk.

   Example:
   
   {0} ok boot /pci@500/pci@2/pci@0/pci@a/SUNW,qlc@0,12/fp@0,0/disk@w2001770700,3:a

   NOTE: The following two steps set the newly created boot disk to be the
   default boot disk. These steps are performed at the system OBP(ok) prompt.

6. Create an alias entry for the new boot device (optional).

   Example: (in OBP at the ok prompt)
   {0} ok nvalias fcdisk /pci@500/pci@2/pci@0/pci@a/SUNW,qlc@0,12/fp@0,0/disk@w2001770700,3:a
   {0} ok reset-all
   
7. Set default boot device to be the new boot device (optional).

   Example:
   {0} ok setenv boot-device fcdisk

  * NOTE:
   Another way to build SANboot disk from CD/DVD or Boot Server as below:
   # ok boot cdrom   or
   # ok boot net
   ...Select FC Target for OS install. qlc driver will be installed.
   Refer to the Solaris Installation manual for detail procedures.


5.3.2 Building a UFS bootable disk

This procedure involves using the Solaris command, ufsdump to create
temporary saveset files for each partition on your current boot disk. In
order for this method to be successful, you must have enough extra disk space
to create the saveset files or your Solaris machine must have a high capacity
tape drive attached.


1. Determine the amount of disk space used on your current boot disk.  
   Use the "/usr/bin/df -k -l" command for a listing.  

   Example: 

   # /usr/bin/df -k -l

   Filesystem            kbytes    used   avail capacity  Mounted on
   /dev/dsk/c0t0d0s0    2577118 1650245  875331    66%    /
   /proc                      0       0       0     0%    /proc
   fd                         0       0       0     0%    /dev/fd
   mnttab                     0       0       0     0%    /etc/mnttab
   swap                 1310480       0 1310480     0%    /var/run
   swap                 1311344     864 1310480     1%    /tmp
   /dev/dsk/c0t0d0s7    5135326     114 5083859     1%    /home

  This df example shows that the current boot disk is /dev/dsk/c0t0d0s(x).
  There are two partitions of interest, slice 0 or "/" and slice 7 or
  "/home". Slice 0 is using 1.6GB and has 875MB free. Slice 7 uses 114KB and
  has 5GB free. Therefore, Slice 7 or "/home" can be used to store the
  temporary saveset files. If at least 1.7GB free was not available on this
  disk, a partition would have to be created on the new bootable disk large
  enough to hold the largest temporary saveset plus the largest used space on
  a partition. In this example, that would be a partition at least 3.2GB
  (1.6GB+1.6GB).

2. Use the "format" command to create, label and format partitions on the 
   new bootable disk. These partitions must be able to contain the contents 
   of the temporary savesets. If you are not familiar with the "format"
   command, carefully read the Solaris documentation and manual pages for the
   command. Misuse of "format" could destroy the data on the current disk
   drives.

   Example:

   # format
      partition
         print

   Current partition table (original):
   Total disk cylinders available: 3880 + 2 (reserved cylinders)

   Part      Tag    Flag     Cylinders        Size            Blocks
     0       root    wm       0 - 2650        2.73GB    (2651/0/0) 5726160
     1       swap    wu    2651 - 2930      295.31MB    (280/0/0)   604800
     2     backup    wm       0 - 3879        4.00GB    (3880/0/0) 8380800
     3 unassigned    wm       0               0         (0/0/0)          0
     4 unassigned    wm       0               0         (0/0/0)          0
     5 unassigned    wm       0               0         (0/0/0)          0
     6 unassigned    wm       0               0         (0/0/0)          0
     7       home    wm    2931 - 3879     1000.90MB    (949/0/0)  2049840
        
     label
     quit
     quit

3. Use the "newfs" command to create the file system.

   Example: 

   # newfs -v /dev/rdsk/c15t5006016046E0310Bd2s0 (/)
   # newfs -v /dev/rdsk/c15t5006016046E0310Bd2s7 (home)

4. Mount the boot partition to the /mnt mount point.

   Example: qlc FCode(fc) mode

   # mount /dev/dsk/c15t5006016046E0310Bd2s0 /mnt

5. Cd to the root partition mount point.
 
   Example:
   # cd /mnt
   
6. Use the "ufsdump" utility to copy the root partition to the new boot disk.

   Example: 
 
   # ufsdump  0f  -   /  | ufsrestore  rf  -

7. # rm restoresymtable

8. Install the boot block on the new boot disk.

   Example: 

   # installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk
   /dev/rdsk/c15t5006016046E0310Bd2s0

9. Edit the new vfstab file, /mnt/etc/vfstab, to properly mount the new
   partition(s) during boot. In this case each reference to c0t0d0s0 would be
   changed to c15t5006016046E0310Bd2s0.

10. Shutdown the system.

    Example:
    # /sbin/init 0

11. Boot from the newly created boot disk.

    Example:
    
    {0} ok boot /pci@1f,700000/SUNW,qlc@3,1/fp@0,0/disk@w216000c0ff898d16,a 
           (Port 1, Lun No. 10) 

12. View the current dump device setting. 

    # dumpadm 
    Dump content: kernel pages
    Dump device: /dev/dsk/c0t0d0s1 (swap)
    Savecore directory: /var/crash/saturn
    Savecore enabled: yes  

   
13. Change the dump device to the swap area of the new boot drive.

    Example: 

    # dumpadm -d /dev/dsk/c15t5006016046E0310Bd2s1

    NOTE: The following two steps set the newly created boot disk to be the
    default boot disk.

    These steps are performed at the system OBP (ok) prompt.

14. Create an alias entry for the new boot device (optional).

    Example: (in OBP at the ok prompt)
    {0} ok nvalias fibredisk /pci@1f,700000/SUNW,qlc@3/fp@0,0/disk@w216000c0ffe02f95
    
15. Set default boot device to be the new boot device (optional).

    Example:
    {0} ok setenv boot-device fibredisk

  * NOTE:
    Another way to build SANboot disk from CD/DVD or Boot Server as below:
    # ok boot cdrom   or
    # ok boot net
    ...Select FC Target for OS install. qlc driver will be installed.
    Refer to the Solaris Installation manual for detail procedures.
   


6. Contacting Support

   Please feel free to contact QLogic Support at http://support.qlogic.com
   for further assistance. 

(c) Copyright 2020. All rights reserved worldwide. Marvell, the Marvell
logo, and the Powered by Marvell logo are registered trademarks of
Marvell Semiconductor, Inc. All other brand and product names are trademarks
or registered trademarks of their respective owners.
